//
// Created by yk120 on 2024/3/8.
//

#ifndef NANOFAISS_DIRECTMAP_H
#define NANOFAISS_DIRECTMAP_H

#include <vector>
#include <unordered_set>

namespace faiss {

struct DirectMap {
    enum Type {
        NoMap = 0, // default
        Array = 1, // sequential
        Hashtable = 2 // arbitrary ids
    };

    Type type;

    /// map for direct access
    std::vector<idx_t> array;
    std::unordered_set<idx_t, idx_t> hashtable;

    DirectMap();



};

}

#endif // NANOFAISS_DIRECTMAP_H
